package com.itheima.singleinstance; // 声明这个类属于com.itheima.singleinstance包，用于组织代码结构

public class Test { // 定义一个名为Test的公开类，用于测试单例模式
    public static void main(String[] args) { // 定义主方法，是程序的入口点
        // 目标：设计单例类。 // 注释说明这段代码的目的是测试单例类的特性
        A a1 = A.getInstance(); // 通过A类的静态方法getInstance()获取A类的实例，并赋值给变量a1
        A a2 = A.getInstance(); // 再次通过getInstance()方法获取A类的实例，并赋值给变量a2
        System.out.println(a1); // 打印a1对象的内存地址，显示a1的具体信息
        System.out.println(a2); // 打印a2对象的内存地址，显示a2的具体信息
        System.out.println(a1 == a2); // 比较a1和a2是否是同一个对象（比较内存地址），如果是单例应该返回true

        System.out.println("============================"); // 打印分隔线，区分A类和B类的测试结果

        B b1 = B.getInstance(); // 通过B类的静态方法getInstance()获取B类的实例，并赋值给变量b1
        B b2 = B.getInstance(); // 再次通过getInstance()方法获取B类的实例，并赋值给变量b2
        System.out.println(b1); // 打印b1对象的内存地址，显示b1的具体信息
        System.out.println(b2); // 打印b2对象的内存地址，显示b2的具体信息
        System.out.println(b1 == b2); // 比较b1和b2是否是同一个对象，如果是单例应该返回true
    }
}
